package org.example.d4_map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapTest2 {
    public static void main(String[] args) {
         Map<String,Integer> map = new HashMap<>();//经典代码  无序 不重复 无索引
        map.put("手表",36);
        map.put("手表",9); //后面的数据会覆盖前面的数据
        map.put("项链",63);
        map.put("电脑",6);
        map.put(null,null);
        System.out.println(map);//map没有根据索引取值的

        // 2.public int size（）：获取集合的大小
        System.out.println(map.size());

        // 3.public void clearO：清空集合
//        map.clear();
//        System.out.println(map);

        // 4.public boolean isEmpty（）：判断集合是否为空，为空返回trUe，反之！
        System.out.println(map.isEmpty());
        // 5.public V get（Object key）：根据键获取对应值
        Integer v1 = map.get("手表");
        System.out.println(v1);
        Integer v2 = map.get("项链");
        System.out.println(v2);
        System.out.println(map.get("电脑"));


        // 6. public V remove（Object key）：根据键删除整个元素（删除键会返回鍵的值）：
        System.out.println(map.remove("手表"));//9
        System.out.println(map);

        // 7.public boolean containsKey （Object key）：判断是否包含某个键，包含返回true，反之
        System.out.println(map.containsKey("手表"));//false
        System.out.println(map.containsKey("电脑"));//true
        // 8.public boolean containsValue（Object value）：判断是否包含某个值。
        System.out.println(map.containsValue(9));
        System.out.println(map.containsValue("2"));//注意给的是啥类型

        // 9.public Set<K> keyset（）：获取Map集合的全部键。
        Set<String> keys = map.keySet();
        System.out.println(keys);

        // 10.public Collection<V> valves（）；获取Map集合的全部值。
        Collection<Integer> values = map.values();
        System.out.println(values);

        //11.把其他map集合的数据倒入到自己的集合中来
        Map<String,Integer> map1 = new HashMap<>();
        map1.put("java1",144);
        map1.put("java2",233);
        Map<String,Integer> map2 = new HashMap<>();
        map2.put("java3",178);
        map2.put("java2",444);
         map1.putAll(map2);
        System.out.println(map1);
        System.out.println(map2);

    }
}
